package com.zrwl.poscloud.xo.service;
import com.zrwl.poscloud.base.entity.Grade;
import com.zrwl.poscloud.base.entity.GradeTeacherR;
import com.zrwl.poscloud.base.superI.SuperService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;

import com.zrwl.poscloud.xo.vo.EmployeeVO;
import com.zrwl.poscloud.xo.vo.GradeTeacherRVO;
/**
 * 教师 服务类
 *
 * @author 刘思童 AutoGenerate
 * @date 2023-02-27
 */
public interface GradeTeacherRService extends SuperService<GradeTeacherR> {

    public IPage<GradeTeacherRVO> getPageList(GradeTeacherRVO gradeTeacherRVO);
    public List<GradeTeacherRVO> getAllList(GradeTeacherRVO gradeTeacherRVO);
    public String add(GradeTeacherRVO gradeTeacherRVO);
    public String edit(GradeTeacherRVO gradeTeacherRVO);
    public String delete(GradeTeacherRVO gradeTeacherRVO);
    String batchAdd(List<GradeTeacherRVO> list);
    public List<GradeTeacherRVO> getHistoryRecordList(GradeTeacherRVO gradeTeacherRVO);
    GradeTeacherR getTeacherBySubjectTypeAndGrade(String gradeUid, int subjectType);

    public String singleImport(GradeTeacherRVO gradeTeacherRVO, Grade grade);
    GradeTeacherR getGradeTeacherByEmployeeUid(String employeeUid, int subjectType);

    List<GradeTeacherRVO> getEmployeeTeacher(GradeTeacherRVO gradeTeacherRVO);

    /**
     * 根据教师和学生获取教师（权限）
     * @param studentUid 学生
     * @param teacherUid 教师
     * @return 教师（权限）
     */
    GradeTeacherR getTeacherAuthorityByTeacherAndStudent(String studentUid, String teacherUid);

    GradeTeacherR getGradeTeacherR(String teacherUid, int subjectType);
}
